#ifndef __EVENEMENT_H__
#define __EVENEMENT_H__

#include <string>

#include <ncurses.h>




class Evenement
{
    private:
        static std::string touchePossible;

    public:
        /**
         * \brief Constructeur par defaut. Initialise la classe evenement pour
         * prendre une touche clavier et n'affiche pas le caractere a l'ecran
         *
         * \return un objet de type Evenement.
         * */
        Evenement();

        /**
          \brief Destructeur qui remet par défaut les valeurs des variables
          d'environnement.
          */
        ~Evenement();

        /**
         * \brief Cette fonction attends que l'utilisateur appuie sur le clavier
         * et retourne un entree defini par le tableau touche possible
         *
         * \return l'indice du caractere dans le string touchePossible.
         * */
        static int event();

        /**
          \brief Defini les caracteres clavier interessant.

          \param str    un string indiquant les caracteres interessant. Les
          carateres du string doivent etre unique.
          */
        static void setTouchePossible(std :: string str);

        /**
          \brief Initialise l'affichage a l'ecran.
          */
        static void init();

        /**
          \brief Detruit l'ensemble des parametres defini et fini la fenetre
          ouverte.
          */
        static void end();
        static std::string getTouchePossible();
        static char getHaut();
        static char getBas();

};


#endif
